package com.doit.day01;

import java.util.Random;

public class GameTest1 {
    public static void main(String[] args) {

        //1.创建第一个角色
        Role1 r1 = new Role1("乔峰", 100);

        //2.创建第二个角色
        Role1 r2 = new Role1("鸠摩智", 100);

        //3.开始格斗 回合制游戏
        while (true) {
            //r1开始攻击r2
            r1.attack(r2);
            //判断r2的剩余血量
            if (r2.getBlood() == 0) {
                System.out.println(r1.getName() + " K.O了" + r2.getName());
                break;
            }

            //r2开始攻击r1
            r2.attack(r1);
            //判断r1的剩余血量
            if (r1.getBlood() == 0) {
                System.out.println(r2.getName() + " K.O了" + r1.getName());
                break;
            }
        }
    }
}


class Role1 {
    private String name;
    private int blood;

    public Role1() {
    }


    public Role1(String name, int blood) {
        this.name = name;
        this.blood = blood;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getBlood() {
        return blood;
    }

    public void setBlood(int blood) {
        this.blood = blood;
    }//定义一个方法用于攻击别人

    //思考：谁攻击谁？
    //Role r1 = new Role（）；
    //Role r2 = new Role（）；
    //r1.攻击(r2);
    //方法的调用者去攻击参数
    public void attack(Role1 role) {
        //计算造成的伤害 1 ~ 20
        Random r = new Random();

        int hurt = r.nextInt(20) + 1;

        //剩余血量
        int remainBoold = role.getBlood() - hurt;

        //对剩余血量做一个验证，如果为负数了，就修改为0
        remainBoold = remainBoold < 0 ? 0 : remainBoold;

        //修改一下挨揍的人的血量
        role.setBlood(remainBoold);

        //this表示方法的调用者
        System.out.println(this.getName() + "举起拳头，打了" + role.getName() + "一下，" + "造成了" + hurt + "点伤害，" + role.getName() + "还剩下了" + remainBoold + "点血");
    }
}

